www.gusucode.com > GUI界面实现语音增强matlab源码程序 > speech enhancement/snr_count.m

    function SNR=snr_count(sig,sample)
%该函数完成信噪比的计算,sig为输入含有噪声的语音信号;
%用信号的前15帧来估计噪声功率,通过总功率减去噪声功率来估计噪声;
n=length(sig)
noise_power=0;
sig_power=0;
for i=1:n,
   temp=(abs(sig(i)))^2;
   sig_power=temp+sig_power;
end;
%sig_power
sig_power=sig_power/n

for j=1:50*sample,
   temp1=(abs(sig(i)))^2;
   noise_power=temp1+noise_power;
end;
%noise_power
noise_power=noise_power/(50*sample)

SNR=10*log10(sig_power/noise_power);